package day0712;

public class StaticDemo3  extends  SuperClass{
    StaticDemo3(){
        System.out.println("子类构造方法");
    }

    { System.out.println("子类代码块");}//构造代码块

    static { System.out.println("子类静态代码块");}//解释：class文件在加载到内存的时候就要执行

    public static void main(String[] args) {
        new StaticDemo3();
        //解释：
        //1.首先加载class字节码文件,执行静态代码快
        //2.用new StaticDemo3()创建对象,会先执行构造代码快
        //3.然后执行构造方法
    }
}


class SuperClass{
    SuperClass(){
        System.out.println("父类构造方法");
    }

    { System.out.println("父类代码块");}

    static { System.out.println("父类静态代码块");}
}
//父类静态代码块
//子类静态代码块
//父类代码块
//父类构造方法
//子类代码块
//子类构造方法






















/*public class StaticDemo3 {
    StaticDemo3(){
        System.out.println("构造方法");
    }

    {  //代码块/构造代码块:在构造方法之前执行
        int i=3;
        while(i<10){
            System.out.println(i);
            i++;
        }
    }

    public static void main(String[] args) {
        new StaticDemo3();
    }

}*/
